/*
 * Copyright 2004 original author or authors.
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *    http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */
package org.jbfilter.impl;

import java.util.Map;

import org.jbfilter.core.fcomps.single.ComparatorFilterComponent;
import org.jbfilter.core.fcomps.single.RegexFilterComponent;
import org.jbfilter.core.fcomps.single.StringFilterComponent;
import org.jbfilter.hibernate.factory.FilterComponentHibernatesProvider;
import org.jbfilter.hibernate.fcomps.logic.AndFilterComponentHibernate;
import org.jbfilter.hibernate.fcomps.logic.DynamicLogicFilterComponentHibernate;
import org.jbfilter.hibernate.fcomps.logic.OrFilterComponentHibernate;
import org.jbfilter.hibernate.fcomps.logic.XorFilterComponentHibernate;
import org.jbfilter.hibernate.fcomps.multiple.StartEndDateFilterComponentHibernate;
import org.jbfilter.hibernate.fcomps.single.ComparableFilterComponentHibernate;
import org.jbfilter.hibernate.fcomps.single.ContainsStringFilterComponentHibernate;
import org.jbfilter.hibernate.fcomps.single.DateFilterComponentHibernate;
import org.jbfilter.hibernate.fcomps.single.EqualsFilterComponentHibernate;

public class FilterComponentHibernatesProviderImpl implements FilterComponentHibernatesProvider {

	public <E> StringFilterComponent<E> newStringFilterComponent() {
		// TODO Auto-generated method stub
		return null;
	}

	public <E> StringFilterComponent<E> newStringFilterComponent(String id) {
		// TODO Auto-generated method stub
		return null;
	}

	public <E> StringFilterComponent<E> newStringFilterComponent(String id,
			String propertyPath) {
		// TODO Auto-generated method stub
		return null;
	}

	public <E> StringFilterComponent<E> newStringFilterComponent(
			Map<String, Object> constructorArgs) {
		// TODO Auto-generated method stub
		return null;
	}

	public <E> RegexFilterComponent<E> newRegexFilterComponent() {
		// TODO Auto-generated method stub
		return null;
	}

	public <E> RegexFilterComponent<E> newRegexFilterComponent(String id) {
		// TODO Auto-generated method stub
		return null;
	}

	public <E> RegexFilterComponent<E> newRegexFilterComponent(String id,
			String propertyPath) {
		// TODO Auto-generated method stub
		return null;
	}

	public <E> RegexFilterComponent<E> newRegexFilterComponent(
			Map<String, Object> constructorArgs) {
		// TODO Auto-generated method stub
		return null;
	}

	public <E, T> ComparatorFilterComponent<E, T> newComparatorFilterComponent() {
		// TODO Auto-generated method stub
		return null;
	}

	public <E, T> ComparatorFilterComponent<E, T> newComparatorFilterComponent(
			String id) {
		// TODO Auto-generated method stub
		return null;
	}

	public <E, T> ComparatorFilterComponent<E, T> newComparatorFilterComponent(
			String id, String propertyPath) {
		// TODO Auto-generated method stub
		return null;
	}

	public <E, T> ComparatorFilterComponent<E, T> newComparatorFilterComponent(
			Map<String, Object> constructorArgs) {
		// TODO Auto-generated method stub
		return null;
	}

	public <E, T> EqualsFilterComponentHibernate<E, T> newEqualsFilterComponent() {
		return new _EqualsFilterComponentHibernateImpl<E, T>();
	}

	public <E, T> EqualsFilterComponentHibernate<E, T> newEqualsFilterComponent(String id) {
		return new _EqualsFilterComponentHibernateImpl<E, T>(id);
	}

	public <E, T> EqualsFilterComponentHibernate<E, T> newEqualsFilterComponent(String id, String propertyPath) {
		return new _EqualsFilterComponentHibernateImpl<E, T>(id, propertyPath);
	}

	public <E, T> EqualsFilterComponentHibernate<E, T> newEqualsFilterComponent(Map<String, Object> constructorArgs) {
		// TODO Auto-generated method stub
		return null;
	}

	public <E> ContainsStringFilterComponentHibernate<E> newContainsStringFilterComponent() {
		return new _ContainsStringFilterComponentHibernateImpl<E>();
	}

	public <E> ContainsStringFilterComponentHibernate<E> newContainsStringFilterComponent(String id) {
		return new _ContainsStringFilterComponentHibernateImpl<E>(id);
	}

	public <E> ContainsStringFilterComponentHibernate<E> newContainsStringFilterComponent(String id, String propertyPath) {
		return new _ContainsStringFilterComponentHibernateImpl<E>(id, propertyPath);
	}

	public <E> ContainsStringFilterComponentHibernate<E> newContainsStringFilterComponent(Map<String, Object> constructorArgs) {
		// TODO Auto-generated method stub
		return null;
	}

	public <E> DateFilterComponentHibernate<E> newDateFilterComponent() {
		return new _DateFilterComponentHibernateImpl<E>();
	}

	public <E> DateFilterComponentHibernate<E> newDateFilterComponent(String id) {
		return new _DateFilterComponentHibernateImpl<E>(id);
	}

	public <E> DateFilterComponentHibernate<E> newDateFilterComponent(String id, String propertyPath) {
		return new _DateFilterComponentHibernateImpl<E>(id, propertyPath);
	}

	public <E> DateFilterComponentHibernate<E> newDateFilterComponent(Map<String, Object> constructorArgs) {
		// TODO Auto-generated method stub
		return null;
	}

	public <E> StartEndDateFilterComponentHibernate<E> newStartEndDateFilterComponent() {
		return new _StartEndDateFilterComponentHibernateImpl<E>();
	}

	public <E> StartEndDateFilterComponentHibernate<E> newStartEndDateFilterComponent(String id) {
		return new _StartEndDateFilterComponentHibernateImpl<E>(id);
	}

	public <E> StartEndDateFilterComponentHibernate<E> newStartEndDateFilterComponent(String id, String propertyPath) {
		return new _StartEndDateFilterComponentHibernateImpl<E>(id, propertyPath);
	}

	public <E> StartEndDateFilterComponentHibernate<E> newStartEndDateFilterComponent(Map<String, Object> constructorArgs) {
		// TODO Auto-generated method stub
		return null;
	}

	public <E, T extends Comparable<? super T>> ComparableFilterComponentHibernate<E, T> newComparableFilterComponent() {
		return new _ComparableFilterComponentHibernateImpl<E, T>();
	}

	public <E, T extends Comparable<? super T>> ComparableFilterComponentHibernate<E, T> newComparableFilterComponent(String id) {
		return new _ComparableFilterComponentHibernateImpl<E, T>(id);
	}

	public <E, T extends Comparable<? super T>> ComparableFilterComponentHibernate<E, T> newComparableFilterComponent(String id, String propertyPath) {
		return new _ComparableFilterComponentHibernateImpl<E, T>(id, propertyPath);
	}

	public <E, T extends Comparable<? super T>> ComparableFilterComponentHibernate<E, T> newComparableFilterComponent(Map<String, Object> constructorArgs) {
		// TODO Auto-generated method stub
		return null;
	}

	public <E> AndFilterComponentHibernate<E> newAndFilterComponent() {
		return new _AndFilterComponentHibernateImpl<E>();
	}

	public <E> AndFilterComponentHibernate<E> newAndFilterComponent(String id) {
		return new _AndFilterComponentHibernateImpl<E>(id);
	}

	public <E> OrFilterComponentHibernate<E> newOrFilterComponent() {
		return new _OrFilterComponentHibernateImpl<E>();
	}

	public <E> OrFilterComponentHibernate<E> newOrFilterComponent(String id) {
		return new _OrFilterComponentHibernateImpl<E>(id);
	}

	public <E> XorFilterComponentHibernate<E> newXorFilterComponent() {
		// TODO Auto-generated method stub
		return null;
	}

	public <E> XorFilterComponentHibernate<E> newXorFilterComponent(String id) {
		// TODO Auto-generated method stub
		return null;
	}

	public <E> DynamicLogicFilterComponentHibernate<E> newDynamicLogicFilterComponent() {
		return new _DynamicLogicFilterComponentHibernateImpl<E>();
	}

	public <E> DynamicLogicFilterComponentHibernate<E> newDynamicLogicFilterComponent(String id) {
		return new _DynamicLogicFilterComponentHibernateImpl<E>(id);
	}

}
